iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
Security

那些留在電腦裡的證據:從零開始認識數位鑑識系列 第 4

[DAY 04] 複製一顆硬碟,真的只是 Ctrl+C 嗎?

  • 分享至 

  • xImage
  •  

上一篇提到 ISO/IEC 27037 的 Acquisition(證據擷取),其中一項重要工作,就是建立數位證據的副本。

但這裡的「複製」,和我們平常把檔案拖到另一顆硬碟不太一樣。

如果只是複製看得到的檔案,可能會漏掉已刪除資料、Slack Space、Unallocated Space,甚至其他沒有直接顯示在檔案系統中的內容。

因此在進行磁碟鑑識時,通常會先建立一份 Forensic Image(鑑識映像),再針對取得的 Image 進行後續分析。

Forensic Image 不只是把檔案 Copy 出來

Forensic Image 可以分成 Physical Image 和 Logical Image。

Physical Image 會把整個儲存裝置的內容完整複製下來,因此除了目前存在的檔案之外,也能保留 Deleted Data、File Slack、Unallocated Space,以及其他底層區域。

Logical Image 則只取得指定的檔案或 Volume,速度比較快、資料量也比較小,但不會包含完整的 Slack Space 或已刪除區域。

比較項目 Physical Image Logical Image
取得範圍 整個儲存裝置 指定檔案或 Volume
Deleted Data 有機會保留 通常不包含
Slack / Unallocated Space 可包含 不包含
資料量 較大 較小
適合情境 完整磁碟鑑識 無法或不需要取得整顆裝置時

所以如果今天要調查的是一顆硬碟,Physical Image 的價值就在於不只取得現在「看得到」的資料,也把可能留下痕跡的空間一起保存下來

在真正開始讀取證物之前,還有一個很重要的東西:Write Blocker(防寫裝置)

Evidence Drive → Write Blocker → Forensic Workstation

它的目的很簡單,就是讓鑑識端可以讀取證物,但不要對原始儲存媒體寫入資料。

像 FTK Imager 本身沒有內建儲存媒體防寫機制,所以在實際連接證物時,還需要搭配硬體 Write Blocker 或其他防寫方式。

因此一個典型的 Acquisition 流程可以整理成:

確認來源設備 → Write Blocker → Acquire → Verify

先確認來源、控制寫入,再建立 Image,最後確認取得結果是否正確。

Evidence File 格式與完整性驗證

開始建立 Image 之後,會遇到的問題就是:這份 Image 要存成什麼格式?

FTK Imager 可以建立多種 Evidence File,例如:RAW / DD、E01、S01、L01、AFF、AD1

以下為比較常見的幾種:

格式 說明
RAW / DD 直接保存取得到的磁碟資料,格式單純、檔案大,適合快速擷取和跨平台分析
E01 正式的法證格式,適合當作法庭證據,最常使用
L01 主要用於邏輯性資料,例如手機資料、文件掃描檔、畫面截圖等
AD1 Access Data’s Evidence file format,可加入 Evidence Item,較少用

其中 E01 與 L01 還可以設定 File Segment Size。

如果一份 Image 很大,不一定要全部存成單一檔案,而是可以依照設定的大小分割成多個 Segment。

例如一份 20 GB 的證據映像,如果設定每個 Segment 為 2 GB,就會被切成多個檔案,方便後續保存、搬移與管理。

E01 裡面不只有證據資料

E01 和單純保存資料的 RAW Image 不太一樣,除了實際取得的 Data Blocks,還會一起保存案件資訊與驗證相關資料。

https://ithelp.ithome.com.tw/upload/images/20260918/20146591ru6t3LCpq4.png

從圖中可以看到,一份 E01 Evidence File 大致包含:

  • Header:保存 Case Info、Acquisition Info、Notes 等資訊
  • Data Blocks:實際取得的證據資料
  • CRC(Cyclic Redundancy Check):針對特定資料區塊進行檢查
  • Acquisition Hash:完成取得後,用來驗證整份映像的 Hash

也就是說,E01 除了會保存磁碟資料,也會把取得資訊與完整性驗證相關資料一起保留下來。

CRC 和 Hash 在驗證什麼?

在建立 E01 / L01 的過程中,會針對特定大小的 Data Block 計算 CRC,並把結果一起保存。

CRC 主要是在檢查個別資料區塊是否發生錯誤。

而當整份 Image 建立完成後,還會再保存整體的 Hash 值,例如 MD5 或 SHA-1,並將這個值作為 Acquisition Hash 保存。

所以兩者驗證的範圍不太一樣:

驗證方式 驗證範圍 用途
CRC 個別 Data Block 檢查區塊資料是否發生錯誤
Hash 整份 Image 驗證整體映像內容是否一致

之後如果要再次確認 Image 的完整性,就可以重新計算 Hash,並和當初建立時留下的 Acquisition Hash 進行比對。

如果 Acquisition Hash = Verification Hash,就表示目前驗證的 Image 和當初完成 Acquisition 時的內容一致。


上一篇
[DAY 03] 先別碰那台電腦!
下一篇
[DAY 05] 來做一份 Forensic Image 吧!
系列文
那些留在電腦裡的證據:從零開始認識數位鑑識5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言